package hcn.protocol.brandnew.dengji.zhuyuanyuyue;

import com.fasterxml.jackson.annotation.JsonFormat;
import ctd.util.xml.jaxb.DateTimeAdapter;
import lombok.Data;

import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.util.Date;
import java.util.List;


/**
 * 住院记录信息查询-响应消息(成功） - ODS_02050004_SUC
 *
 * @author enjoyLife
 */
@Data
@XmlRootElement(name = "Data")
@XmlAccessorType(XmlAccessType.FIELD)
public class ListHospitalizationRecordResponse {

    /**
     * 住院记录LIST
     */
    @XmlElementWrapper(name = "RequestLists")
    @XmlElement(name = "RequestList")
    private List<RequestList> requestLists;

    @Data
    @XmlAccessorType(XmlAccessType.FIELD)
    public static class RequestList {

        /**
         * 医院ID，医院系统身份标识
         */
        @XmlElement(name = "VisitOrganization")
        private String visitOrganization;
        /**
         * 医院名称，公有模板，可能为空
         */
        @XmlElement(name = "VisitOrganizationName")
        private String visitOrganizationName;
        /**
         * 住院号码
         */
        @XmlElement(name = "HospizationId")
        private String hospizationId;
        /**
         * 住院号
         */
        @XmlElement(name = "VisitId")
        private String visitId;
        /**
         * 就诊科室名称（住院科室名称）
         */
        @XmlElement(name = "VisitDeptName")
        private String visitDeptName;
        /**
         * 姓名
         */
        @XmlElement(name = "Name")
        private String name;
        /**
         * 床号
         */
        @XmlElement(name = "SickbedId")
        private String sickbedId;
        /**
         * 入院日期时间
         */
        @XmlElement(name = "AdmissionDateTime")
        @XmlJavaTypeAdapter(DateTimeAdapter.class)
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date admissionDateTime;
        /**
         * 出院日期时间
         */
        @XmlElement(name = "DischargeDateTime")
        @XmlJavaTypeAdapter(DateTimeAdapter.class)
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date dischargeDateTime;
        /**
         * 住院总费用
         */
        @XmlElement(name = "HospizationCost")
        private String hospizationCost;
        /**
         * 住院总押金
         */
        @XmlElement(name = "Prepaid")
        private String prepaid;
        /**
         * 自费金额
         */
        @XmlElement(name = "PersonalCost")
        private String personalCost;
        /**
         * 备注信息
         */
        @XmlElement(name = "Remark")
        private String remark;
        /**
         * 住院押金余额
         */
        @XmlElement(name = "PrepaidBalance")
        private String prepaidBalance;
        /**
         * 医保报销金额
         */
        @XmlElement(name = "MedicalExpensesCost")
        private String medicalExpensesCost;
        /**
         * 住院状态
         */
        @XmlElement(name = "HospizationStatus")
        private Byte hospizationStatus;
    }

}
